Skip to content

fix: drop an ATTENDEE Bedework 5 stores twice - #864

Merged
tobixen merged 2 commits into
masterfrom
fix/bedework-attendee-twice
Nov 12, 2026
Merged

tobixen merged 2 commits into
masterfrom
fix/bedework-attendee-twice

Conversation

@tobixen

@tobixen tobixen commented Nov 12, 2026

Copy link
Copy Markdown
Member

Commit message:

Bedework 5 stores every ATTENDEE of an event twice: a PUT with one
gives two identical lines back, in GET and calendar-multiget alike,
from a fresh container too. vcal.fix() now drops an exact copy of an
ATTENDEE line in the same component, so a client sees each attendee
once; a line that differs, if only in a parameter, is kept. The new
hint save-load.icalendar.attendee-once is a quirk for Bedework 5.

Prompt: Please do more research on the bedework5 problem. Bedework is a static image (built locally, but I did it only once).
Followup-Prompt: [a tester probe, a caldav hint, and dropping the copies on read] sounds good. Quirk sounds good, and the caldav library should strip the duplicates.

Assisted-By: Claude Opus 5.5 noreply@anthropic.com

The matching caldav-server-tester probe gives the quirk when run against Bedework 5; it is going into a PR there.

Robur decodes %40 in a request path but not in an href inside a REPORT
body: a calendar-multiget naming .../x%40y.ics answers 404 for an
object a GET of that URL serves, and .../x@y.ics finds it.  The new
hint url.encode-at.encoded.href records that, and where it is
unsupported the @ of a multiget href is sent literally.  Other escapes
are kept, and a server declaring the spellings distinct is left alone.

Prompt: Continue working on getting those [calendaring] conformance tests passing.  [on Robur, every object with an @ in its UID failed its read-back]

Assisted-By: Claude Opus 5.5 <noreply@anthropic.com>
Reviewed-by: Tobias Brox <tobias@redpill-linpro.com>
Bedework 5 stores every ATTENDEE of an event twice: a PUT with one
gives two identical lines back, in GET and calendar-multiget alike,
from a fresh container too.  vcal.fix() now drops an exact copy of an
ATTENDEE line in the same component, so a client sees each attendee
once; a line that differs, if only in a parameter, is kept.  The new
hint save-load.icalendar.attendee-once is a quirk for Bedework 5.

Prompt: Please do more research on the bedework5 problem.  Bedework is a static image (built locally, but I did it only once).
Followup-Prompt: [a tester probe, a caldav hint, and dropping the copies on read] sounds good.  Quirk sounds good, and the caldav library should strip the duplicates.

Assisted-By: Claude Opus 5.5 <noreply@anthropic.com>
Reviewed-by: Tobias Brox <tobias@redpill-linpro.com>
@tobixen
tobixen force-pushed the fix/bedework-attendee-twice branch from 9a7004b to 0180ed5 Compare November 12, 2026 23:16
@tobixen
tobixen merged commit 0180ed5 into master Nov 12, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant